#include <mysql.h>
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include "adatbazis.h"
#include "tag.h"
#include "menu.h"
using namespace std;

int main(){
    Menu m;
    m.Run();
    return 0;
}

void Menu::Run(){
     int c = 0;
     Adatbazis d((char*)"localhost",(char*)"root",(char*)"",(char*)"konyvtar");
     string felh_nev;
	string jelszo;
	cout<<"Addja meg a felhasználói nevét és jelszavát:"<<endl;
	getline(cin,felh_nev);
	getline(cin,jelszo);
	string query = "SELECT * FROM felhasznalok WHERE nev='"+felh_nev+"' and okiratszam='" + jelszo +"'";
	result = d.Lekerdezes(query.c_str());
	if(mysql_num_rows(result)==0){
		cout<<"Hibas bejelentkezesi adatok!"<<endl;
		exit(1);
	}
	else {
		cout<<"Sikeres bejelentkezes: "<<felh_nev;
		row = mysql_fetch_row(result);
		string tip =row[5];
		if(tip=="0"){
			cout<<" - Konyvtaros!"<<endl;
			konyvtaros = new Konyvtaros(row[0],row[1],row[2],row[3],row[4]);
			
			do{
				Menu1Write();
				cin >> c;
				switch(c){
				case 1: ListazKonyvek(); break;
				case 2: TagListaz(); break;
				case 3: Tagmodosit(); break;
				case 4: Tagfelvetel(); break;
				case 5: TagTorles(); break;
				case 6: KonyvModosit(); break;
				case 7: KonyvTorles(); break;
				case 8: KonyvFelvetel(); break;
				case 9: KesedelemListaz(); break;			
        			}
   			}while(c!=0);
   			exit(1);
		}
		else if(tip=="1"){cout<<" - Egyetemi hallgato!"<<endl;tag = new EgyetemiHallgato(row[0],row[1],row[2],row[3],row[4]);}
		else if(tip=="2"){cout<<" - Egyetemi oktato!"<<endl;tag = new EgyetemiOktato(row[0],row[1],row[2],row[3],row[4]); }
		else if(tip=="3"){cout<<"- Mas egyetem polgara!"<<endl; tag = new MasEgyetemPolgara (row[0],row[1],row[2],row[3],row[4]);}
		else if(tip=="4"){cout<<" - Egyeb tag!"<<endl;tag = new EgyebTag(row[0],row[1],row[2],row[3],row[4]);}
		do{
			Menu2Write();
			cin >> c;
			switch(c){
				case 1: Listaz(); break;
				case 2: KeresSzerzo();break;
				case 3: KeresCim();break;
				case 4: Keres();break;
				case 5: KolcsonzesListaz();break;
				case 6: Kolcsonzes();break;
				case 7: KonyvVisszahozastRogzit(); break;
			}
		}while(c!=0);	
	}	    
}

void Menu::Menu1Write(){
     cout << endl << endl;
     cout << " 1. -Konyvek listazasa" << endl;
     cout << " 2. -Tagok listazasa" << endl;
     cout << " 3. -Tag modositasa" << endl;
     cout << " 4. -Tagfelvetel" << endl;
     cout << " 5. -Tag torlese" << endl;
     cout << " 6. -Konyv modositasa" << endl;
     cout << " 7. -Konyv torlese" << endl;
     cout << " 8. -Konyvfelvetel" << endl;
     cout << " 9. -Kesedelemmel rendelkezo tagok" << endl;
     cout << " 0. -Kilepes" << endl;
     
}

void Menu::Menu2Write(){
     cout << endl << endl;
	cout << " 1. -Könyvek listazasa" << endl;
	cout << " 2. -Kereses szerzo alapjan" << endl;
	cout << " 3. -Kereses cim alapjan" << endl;
	cout << " 4. -Kereses" << endl;
	cout << " 5. -Kolcsonzesek listazasa" << endl;
	cout << " 6. -Kolcsonzes" << endl; 	
     cout << " 7. -Konyvet visszahoz" << endl;  
     cout << " 0. -Kilepes" << endl;
}


